home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio / Ham Radio CD-ROM (Emerald Software) (1995).ISO / maps / grcidis / grcidis.bas
BASIC Source File  |  1986-01-09  |  6KB  |  156 lines

  1. 10 ' GREAT CIRCLE DISTANCE PROGRAM
  2. 11 ' LOCATED ON DISK OFFLIN-001 , FILESPEC IS: GRCIRDIS.BAS
  3. 12 CLS
  4. 30 PRINT "*******************************************************************"
  5. 31 PRINT "*******************************************************************"
  6. 40 PRINT
  7. 50 PRINT "                  GREAT CIRCLE DISTANCE"
  8. 60 PRINT
  9. 70 PRINT
  10. 75 PRINT "THIS PROGRAM WILL COMPUTE THE GREAT CIRCLE DISTANCE IN MILES AND IN"
  11. 80 PRINT "KILOMETERS BETWEEN ANY TWO POINTS FOR WHICH THE LATITUDE AND LONGI-"
  12. 85 PRINT "TUDE ARE GIVEN."
  13. 90 PRINT
  14. 95 PRINT "WHEN ENTERING LATITUDE AND LONGITUDE, THE DEGREES AND MINUTES FOR"
  15. 100 PRINT "SOUTH LATITUDE AND EAST LONGITUDE MUST BE ENTERED AS NEGATIVES."
  16. 105 PRINT
  17. 110 PRINT
  18. 115 PRINT "PRESS <RETURN> IF YOU ARE READY TO START ";
  19. 120 INPUT Z$
  20. 125 CLS
  21. 150 PRINT
  22. 155 PRINT "********************        REMEMBER         ********************"
  23. 160 PRINT "                           __________"
  24. 162 PRINT
  25. 164 PRINT
  26. 166 PRINT
  27. 168 PRINT "#################################################################"
  28. 169 PRINT "#################################################################"
  29. 170 PRINT "###                                                           ###"
  30. 172 PRINT "###                                                           ###"
  31. 174 PRINT "###                                                           ###"
  32. 176 PRINT "###       NORTH IS +                      SOUTH IS -          ###"
  33. 178 PRINT "###       WEST  IS +                      EAST  IS -          ###"
  34. 180 PRINT "###                                                           ###"
  35. 182 PRINT "###                                                           ###"
  36. 184 PRINT "###                                                           ###"
  37. 186 PRINT "#################################################################"
  38. 188 PRINT "#################################################################"
  39. 190 PRINT
  40. 192 PRINT "THE ABOVE INFORMATION IS MOST IMPORTANT.  IF YOU USE THE WRONG"
  41. 194 PRINT "SIGN, ALL CALCULATIONS WILL BE INCORRECT. ***********************"
  42. 196 PRINT
  43. 197 PRINT "PRESS <RETURN> TO CONTINUE -- OK ";
  44. 198 INPUT Z$
  45. 199 PRINT
  46. 440 CLS
  47. 445 PRINT "*****************************************************************"
  48. 450 PRINT
  49. 460 PRINT "PLEASE INPUT THE NAME OF POINT A ";
  50. 470 INPUT A$
  51. 490 PRINT
  52. 500 PRINT "ENTER DEGREES OF LATITUDE: ";
  53. 510 INPUT BD
  54. 530 PRINT "ENTER MINUTES OF LATITUDE: ";
  55. 540 INPUT BM
  56. 560 LET B=BD+(BM/60)
  57. 570 PRINT
  58. 580 PRINT "ENTER DEGREES OF LONGITUDE: ";
  59. 590 INPUT CD
  60. 610 PRINT "ENTER MINUTES OF LONGITUDE: ";
  61. 620 INPUT CM
  62. 640 LET C=CD+(CM/60)
  63. 650 PRINT
  64. 655 PRINT "-----------------------------------------------------------------"
  65. 656 PRINT
  66. 660 PRINT "PLEASE INPUT THE NAME OF POINT B ";
  67. 670 INPUT D$
  68. 690 PRINT
  69. 700 PRINT "ENTER DEGREES OF LATITUDE: ";
  70. 710 INPUT ED
  71. 730 PRINT "ENTER MINUTES OF LATITUDE: ";
  72. 740 INPUT EM
  73. 760 LET E=ED+(EM/60)
  74. 770 PRINT
  75. 780 PRINT "ENTER DEGREES OF LONGITUDE: ";
  76. 790 INPUT FD
  77. 800 PRINT "ENTER MINUTES OF LONGITUDE: ";
  78. 810 INPUT FM
  79. 832 PRINT
  80. 836 PRINT "******************************************************************"
  81. 840 LET F=FD+(FM/60)
  82. 842 FOR Z=1 TO 5500
  83. 845 NEXT Z
  84. 850 CLS
  85. 860 LET G=(90-B)/180*3.14159265#
  86. 870 LET K=ABS (C-F)
  87. 880 LET L=(90-E)/180*3.14159265#
  88. 890 LET N=(G+L)/2
  89. 900 LET P=(G-L)/2
  90. 910 LET Q=(K/2)/180*3.14159265#
  91. 920 LET R=ATN (((COS (Q)/SIN (Q))*(COS (P))/COS (N)))
  92. 930 LET S=ATN ((COS (Q)/SIN (Q))*SIN (P)/SIN (N))
  93. 940 LET T=ATN ((SIN (P)/COS (P))*SIN (R)/SIN (S))
  94. 970 LET J=(2*T)/3.14159265#*180
  95. 980 LET U=INT ((J*69.113)+.5)
  96. 990 IF U<0 THEN LET U=U*(-1)
  97. 1000 PRINT "*****************************************************************"
  98. 1005 PRINT "*****************************************************************"
  99. 1010 LPRINT "*****************************************************************"
  100. 1020 LPRINT "*****************************************************************"
  101. 1021 PRINT
  102. 1022 PRINT
  103. 1023 LPRINT
  104. 1024 LPRINT
  105. 1025 PRINT A$
  106. 1026 LPRINT A$
  107. 1030 LPRINT "      LATITUDE: ";INT (B*1000)/1000;" DEGREES"
  108. 1032 PRINT "      LATITUDE: ";INT (B*1000)/1000;" DEGREES"
  109. 1040 PRINT "     LONGITUDE: ";INT (C*1000)/1000;" DEGREES"
  110. 1042 LPRINT "     LONGITUDE: ";INT (C*1000)/1000;" DEGREES"
  111. 1050 PRINT
  112. 1052 LPRINT
  113. 1060 PRINT D$
  114. 1062 LPRINT D$
  115. 1070 PRINT "      LATITUDE: ";INT (E*1000)/1000;" DEGREES"
  116. 1072 LPRINT "      LATITUDE: ";INT (E*1000)/1000;" DEGREES"
  117. 1080 PRINT "     LONGITUDE: ";INT (F*1000)/1000;" DEGREES"
  118. 1082 LPRINT "     LONGITUDE: ";INT (F*1000)/1000;" DEGREES"
  119. 1090 PRINT
  120. 1092 LPRINT
  121. 1094 PRINT "-----------------------------------------------------------------"
  122. 1096 LPRINT "-----------------------------------------------------------------"
  123. 1100 PRINT
  124. 1102 LPRINT
  125. 1110 PRINT "THE DISTANCE FROM"
  126. 1111 LPRINT "THE DISTANCE FROM"
  127. 1112 PRINT A$;" TO"
  128. 1113 LPRINT A$;" TO"
  129. 1114 PRINT D$;" IS:"
  130. 1115 LPRINT D$;" IS:"
  131. 1130 PRINT U;" MILES OR ";INT (U*6336/3937);" KILOMETERS"
  132. 1132 LPRINT U;" MILES OR ";INT (U*6336/3937);" KILOMETERS"
  133. 1140 PRINT
  134. 1142 LPRINT
  135. 1150 PRINT "*****************************************************************"
  136. 1152 LPRINT "*****************************************************************"
  137. 1154 PRINT
  138. 1156 LPRINT
  139. 1160 PRINT "ANOTHER CASE (Y/N) ";
  140. 1162 INPUT H$
  141. 1164 PRINT
  142. 1166 LPRINT
  143. 1170 IF H$="Y" THEN GOTO 440
  144. 1172 IF H$="N" THEN GOTO 1200
  145. 1174 GOTO 1162
  146. 1200 CLS
  147. 1202 PRINT "////////////////////////////////////////////////////////////////"
  148. 1204 PRINT
  149. 1206 PRINT "THIS PROGRAM HAS ENDED *****************************************"
  150. 1208 PRINT
  151. 1210 PRINT
  152. 1220 PRINT
  153. 1230 PRINT
  154. 1240 PRINT
  155. 1250 PRINT
  156.